diff --git a/system/core/CodeIgniter.php b/system/core/CodeIgniter.php
index ee1e9b9..633be7f 100644
--- a/system/core/CodeIgniter.php
+++ b/system/core/CodeIgniter.php
@@ -256,17 +256,14 @@
  *  Security check
  * ------------------------------------------------------
  *
- *  None of the functions in the app controller or the
+ *  None of the methods in the app controller or the
  *  loader class can be called via the URI, nor can
- *  controller functions that begin with an underscore
+ *  controller functions that begin with an underscore.
  */
 	$class  = $RTR->fetch_class();
 	$method = $RTR->fetch_method();
 
-	if ( ! class_exists($class)
-		OR strpos($method, '_') === 0
-		OR in_array(strtolower($method), array_map('strtolower', get_class_methods('CI_Controller')))
-		)
+	if ( ! class_exists($class) OR $method[0] === '_' OR method_exists('CI_Controller', $method))
 	{
 		if ( ! empty($RTR->routes['404_override']))
 		{
@@ -325,9 +322,7 @@
 	}
 	else
 	{
-		// is_callable() returns TRUE on some versions of PHP 5 for private and protected
-		// methods, so we'll use this workaround for consistent behavior
-		if ( ! in_array(strtolower($method), array_map('strtolower', get_class_methods($CI))))
+		if ( ! is_callable(array($CI, $method)))
 		{
 			// Check and see if we are using a 404 override and use it.
 			if ( ! empty($RTR->routes['404_override']))
diff --git a/system/core/Router.php b/system/core/Router.php
index 89fb74f..48c157f 100644
--- a/system/core/Router.php
+++ b/system/core/Router.php
@@ -54,13 +54,6 @@
 	public $routes =	array();
 
 	/**
-	 * List of error routes
-	 *
-	 * @var	array
-	 */
-	public $error_routes =	array();
-
-	/**
 	 * Current class name
 	 *
 	 * @var	string
